PROGRAM indiceCompte;

USES
	 Clients, Types;
	 	
Function indiceCompte(ID_compte:INTEGER ; tabcompte : TTabCompte) : INTEGER;				//Définition du nom de notre fonction ainsi que ses paramètres en entrée-sortie

Var
	i:INTEGER;

Begin
	i:=1;
	WHILE( i > tabcompte.nbcompte) OR (ID_compte <> tabcompte.compteclient[i].IDcompte) DO
		begin
			i:=i + 1;
		end;																				//Boucle qui compare notre ID_Compte à l'ID_Compte de notre tableau et s'arrête sitôt qu'on se trouve à la hauteur de l'enregistrement
	IF(i > tabcompte.nbcompte) THEN
		i:=-1;																				//Si à la fin de la boucle il n'a tjrs pas trouvé il donne la valeur -1 pour définir un cas de sortie
	indiceCompte:=i;																		//Retourne l'indice du tableau où s'est arrêter notre boucle
END;

Var

client : TTabClient;
compte : TTabCompte;

BEGIN
	client.tabclient[1].ID:= 123;
	client.tabclient[1].nom:= 'Petit';
	client.tabclient[1].prenom:= 'Benoît';
	client.tabclient[1].naissance:= '15.05.1991'; 
	client.tabclient[1].politesse:= 'Monsieur';
	client.tabclient[1].adresse:= 'Chemin du Sécheron 5';
	client.tabclient[1].npa:= '1132';
	client.tabclient[1].localite:= 'Lully';
	client.tabclient[1].telephone:= '0796208831';

	client.tabclient[2].ID:= 789;
	client.tabclient[2].nom:= 'Plug';
	client.tabclient[2].prenom:= 'Johann';
	client.tabclient[2].naissance:= '12.05.1992';
	client.tabclient[2].politesse:= 'Monsieur';
	client.tabclient[2].adresse:= 'Rte de l''église 2';
	client.tabclient[2].npa:= '1064';
	client.tabclient[2].localite:= 'Etoy';
	client.tabclient[2].telephone:= '0794997979';
	
	client.nbelement:=2;
	
	compte.compteclient[1].IDcompte := 456;
	compte.compteclient[1].IDclient := 123;
	compte.compteclient[1].Libelle := 'Epargne';
	compte.compteclient[1].taux := '2.5%';
	compte.compteclient[1].solde := 1000;
	compte.compteclient[1].limite := 1;

	compte.compteclient[2].IDcompte := 123;
	compte.compteclient[2].IDclient := 789;
	compte.compteclient[2].Libelle := 'courant';
	compte.compteclient[2].taux :=  '0.25';
	compte.compteclient[2].solde := 500;
	compte.compteclient[2].limite := -10;

	compte.nbcompte := 2;
	
	WRITELN(indiceCompte(123,compte));
END.
